Day19-BGP(4)&ipv6

目录

lBGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:

  1. 该路由是到达目的地的唯一路由,直接优选。
  2. 对到达同一目的地的多条路由,优选优先级最高的。
  3. 对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。总体来讲,有以下 13 原则

BGP13 条军规

  1. 丢弃下一跳不可达的路由。
  2. 优选Preference_Value值最高的路由(华为私有属性,仅本地有效,思科也有一个私有的,对应weight)。
  3. 优选本地优先级(Local_Preference)最高的路由。
  4. 优选手动聚合>自动聚合>network>import>从对等体学到的。
  5. 优选AS_Path短的路由。
  6. 起源类型IGP>EGP>Incomplete。
  7. 对于来自同一AS的路由,优选MED值小的。
  8. 优选从EBGP学来的路由(EBGP>IBGP)。
  9. 优选AS内部IGP的Metric最小的路由。
  10. 优选Cluster_List最短的路由。
  11. 优选Orginator_ID最小的路由。
  12. 优选Router_ID最小的路由器发布的路由。
  13. 优选具有较小IP地址的邻居学来的路由。

BGP 选路实验

在BGP邻居传递路由时,存在很多的路由控制需求,为了实现灵活的路由属性控制,我们需要做两件事:抓取路由条目,更改抓取到的路由条目的属性。

抓取我们需要修改的路由条目有哪些工具?

ACL:不精准

prefix-list: 地址前缀列表,比较精准,可以匹配路由的掩码

这两个工具只能抓路由,不能修改路由属性。如果需要修改路由属性,则需要使用 router-policy 路由策略。路由策略根据前缀列表抓到的路由,可是实现属性更改,从而人工干预选路。

协议首选值实验

  • preferred_value,默认值0,数值越大越优先。
  • 华为特定的私有属性
  • 只在本设备有效

第一 步:在 R1 上使用前缀列表抓取 10.10.4.0/24 的路由

R1:
ip ip-prefix 4.0 permiit 10.10.4.0 24 greater-equal 24 less-equal 24
//允许子网掩码长度恰好为24位的 10.10.4.0/24 网络的路由通过。

第二步:在 R1 上通过路由策略去修改协议首选值属性

R1
route-policy 4.0 permit node 10  //创建路由策略命名为 4.0,node为10
if-match ip-prefix 4.0
 apply preferred-value 100  //修改协议首选值为 100

第三步:在 R1 指向 R3 邻居的入方向调用路由策略

R1:
bgp 100
peer 10.10.3.3 route-policy 4.0 import  //在入方向调用路由策略

第四步:在 R1 和 R2、3、4、上验证协议首选值只在R1本地生效

display bgp routing-table //查看 bgp 路由表·

本地优先级实验

local-preference,只在 AS内部有效,不会通告给其他 AS(只在 IBGP 邻居之间生效)

默认值为 100,越大越优先

第一步:在 R1 上删除协议首选值的相关配置,然后验证路由表是否恢复

R1:
undo ip ip-prefix 4.0
undo route-policy 4.0
bgp 100
undo peer 10.10.3.3 route-policy 4.0 import

display bgp routing-table

第二步:在 R3 上配置本地优先级属性

ip ip-prefix 4.0 index 10 permit 10.10.4.0 24 greater-equal 24 less-equal 24
route-policy 4.0 permit node 10
if-match ip-prefix 4.0
apply local-preference 500  //修改本地优先级为 500

第三步:在 R3 指向 R1 的出方向应用策略

bgp 100
peer 10.10.1.1 route-policy 4.0 export //在出方向调用策略

第四步:在 R1 上验证

display bgp routing-table 

AS-Path属性实验

AS-path属性:AS号越短越优先(经过的AS号越少越优先。)该属性还有一个作用:防止EBGP邻居之间的环路

第一步:在 R3 上删除上一个实验本地优先级 的配置

undo ip ip-prefix 4.0
undo route-policy 4.0
bgp 100
   undo peer 10.10.1.1 route-policy 4.0 export
  

第二步:在 R1 上用network注入 10.10.1.0/24(方便观察ip路由表)

bgp 100
 network 10.10.1.0 24

第三步:在 R4 上增加 R2 到 R4的 BGP路由 AS 号

ip ip-prefix 1.0 index 10 permit 10.10.1.0 24 greater-equal 24 less-equal 24
route-policy 1.0 permit node 10
if-match ip-prefix 1.0
apply as-path 300 additive

第四步:在 R4 指向 R2 的入方向调用策略

bgp 200
peer 192.168.24.2 route-policy 1.0 import. //与 R2 的入方向上调用策略

第五步:在 R4 上验证

display bgp routing-table
display ip routing-table

IPV6

IPv4

地址数量:2 的 32 次方,设计之初没有考虑到局限性,数量有限

长度:32 比特

表示方式:二进制 32 比特/ 十进制 分四组 点分十进制。

结构:网络位+主机位。

用子网掩码区分网络位和主机位

解决 ip 地址不够用的方案:ipv4 地址分类、子网划分、NAT

IPv6

为了解决 IPv4 地址不够用且不够安全的问题,IPV6 应运而生。

长度:128 比特

表示方式:十六进制,分8组,每组 16 个比特。每组 4 个十六进制数,冒分 十六进制

AB12:23D5:0000:0000:4A33:006A:0001:ABB0 /32

前缀:在IPv6中,前缀和其对应的前缀长度共同定义了一个网段。前缀长度指示了地址中用于标识网络部分的位数,这与IPv4中的子网掩码作用相似。IPv6地址通常以“地址/前缀长度”的形式表示,例如2001:db8::/32表示一个前缀长度为32位的IPv6网段。通过前缀长度,网络设备能够识别出地址中哪部分是网络前缀,哪部分是主机标识。这是决定地址是否属于特定网段的关键依据。

IPv6 的简化方案

由于 16 进制太长,所以出现了一些简化方案。

1.每一组左侧的 0,可以省略掉。

省略前:AB12:23D5:0000:0000:4A33:006A:0001:ABB0

省略后:AB12:23D5:0000:0000:4A33:6A:1:ABB0

2.一组全是 0,可以简写为 0

省略前:AB12:23D5:0000:0000:4A33:6A:1:ABB0

省略后:AB12:23D5:0:0:4A33:6A:1:ABB0

3.连续多组为 0 的话,可以简写为::(注意,双::只能使用一次)

省略前:AB12:23D5:0:0:4A33:6A:1:ABB0

省略后:AB12:23D5::4A33:6A:1:ABB0

IPv6 简化测试题

  • 简化前: 2001:0db8:0000:0042:0000:0000:0000:0001

    简化后:2001:DB8:0:42::1

  • 简化前: 2001:0000:3238:DFE1:0063:0000:0000:FEFB

    简化后:2001:0:3238:DFE1:63::FEFB

  • 简化前: FE80:0000:0000:0000:0202:B3FF:FE1E:8329

    简化后:FE80::202:B3FF:FE1E:8329

  • 简化前: 0000:0000:0000:0000:0000:0000:0000:0001

    简化后:::1(ipv6 中的回环地址,相当于 ipv4 的 127.0.0.1)

  • 简化前: 0000:0000:0000:0000:0000:0000:0000:0000

    简化后:::(未指定的地址。全为 0,但是ipv6没有广播的概念)

IPV6 配置静态路由

配置思路:

1.路由器全局开启 ipv6 功能

2.进入接口,给接口开启ipv6功能

3.给接口配置 ipv6 地址

4.写ipv6静态路由

Ping注意:

1.在路由器/交换机 ping ipv6 的格式是 ping ipv6 +目标地址

ping ipv6 2001:0002::1

2.在 PC 机上,直接 ping +目标地址即可

IPV6 动态路由-OSPFv3

1.ospf v3必须手动指定router id

2.ospf v3是在接口下启动进程,并将该接口宣告进ospf区域

OSPFv3 配置命令:
[R5]ospfv3 1   //进入ospfv3的进程1
[R5-ospfv3-1]router-id 5.5.5.5   //配置rid  ,必须配置
[R5-ospfv3-1]q
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ospfv3 1 area 1    //接口下启动OSPFV3进程1  ,并将接口宣告的区域1 

其他命令:
display ospfv3 peer  //查看 ospfv3 的邻居关系
display ip routing-table //查看ipv4路由表
display ipv6 routing-table //查看ipv6的路由表
ping ipv6 2001:0056::5    //  测试使用ospfv3学习到的ipv6路由连通性
ipv6    route-static     ::  0    下一跳    //IPV6默认路由